There are presently multiple standards for the encoding, compression, storage and transmission of video and audio. One common standard is H.264 or MPEG (Moving Picture Experts Group)-4 Part 10, Advanced Video Coding (MPEG-4 AVC), which is defined, for example, in https://www.itu.int/rec/T-REC-H.264 as well as in subsequent and previous documents. High Efficiency Video Coding (HEVC), also known as H.265 and MPEG-H Part 2 is another standard experiencing a rapid growth in popularity, and extends and aims to replace H.264.
These and similar standards are widely used by different appliances, such as those which function as video cameras and/or microphones, to capture video and/or audio and encode the video and/or audio based on the aforementioned standards. These appliances sometimes store or transmit the result of such encoding using their own proprietary network protocols or file formats. This renders any captured transmission or file unusable to a second application or device that is not privy to the details of the proprietary network protocols and file formats of the audio and/or video. This is especially true in cases where the proprietary network protocol or file format add their own headers or trailers.
Media streams, are, for example, transmitted over networks, such as packet switched networks, which utilize network layer protocols such as the Internet Protocol (IP). Media streams are also transmittable over networks using transport protocols such as Transmission Control Protocol (TCP), User Datagram Protocol (UDP) or Stream Control Transmission Protocol (SCTP). The aforementioned networks may be, for example, local area networks (LAN) or wide area networks (WAN), such as the Internet. The aforementioned networks may employ wired and/or wireless connections, with the wireless connections, for example, WiFi® and/or cellular connections. The media streams may be encrypted. For example, when encrypted, the encryption may be performed at any one of multiple levels including: 1) separate encryption of all or some of the media elements; 2) at the transport level using such protocols such as Transport Layer Security (TLS), Datagram Transport Layer Security (DTLS) and the like; 3) at the network level using such protocols such as Internet Protocol security (IPsec) and the like; and, 4) at the link level using such protocols such as Wired Equivalent Privacy (WEP), Wi-Fi Protected Access (WPA), Global System for Mobile Communications (GSM) encryption and the like.
The media streams can also be stored either ephemerally or for longer periods of time on non-transitory computer readable storage media. This storage media, for example, could be physically or communicatively coupled with video cameras or microphones, which originally captured the video or audio content. In such a case, the media stream may be stored on the non-transitory computer readable storage device using a computer readable file system, which, for example, is based on file system formats such as New Technology File System (NTFS) from Microsoft of Redmond Wash., File Allocation Table (FAT), Extended File Allocation Table (exFAT), Second Extended File System (ext2) (a file system for the Linux kernel), Third Extended File System (ext3) (a journaled file system for the Linux kernel), Fourth Extended File System (ext4) (a journaling file system for Linux, developed as the successor to ext3), Universal Disk Format (UDF), XFS (a high-performance 64-bit journaling file system created by Silicon Graphics, Inc (SGI)), ISO9660 and the like. Moreover, when stored on a file system, the media stream may be stored in a single file, span multiple files, or stored as a single or multiple files inside a file archive utilizing an archive format such as ZIP, TAR or RAR. Also, the media stream may span multiple physical storage devices as well as multiple file systems. The media streams are storable as encrypted, in plaintext or partially encrypted. The encryption of the media streams may be performed at levels including: 1) separate encryption of all or some of the media elements; 2) at the file level, where the entire file is encrypted; 3) at the directory level, where the entire directory or multiple directories are encrypted; 4) at the file system level, where the entire file system is encrypted; and, 5) at the medium level, where the entire non-transitory computer readable storage medium is encrypted.
There exist many appliances that capture or receive video and/or audio content as media streams, and transmit or store these video streams with conventional transmission and storage media. Many of these appliances utilize their own proprietary protocols and/or file formats to transmit or store a modified representation of the media streams.
These proprietary protocols and/or file formats normally encapsulate the media streams and modify it in ways, such as: 1) they could add their own headers at the beginning of elements of the media stream; 2) they could add their own trailers at the end of elements of the media stream; 3) they could remove some of the original streaming media headers and/or trailers; and, 4) they could insert their own additional content in between different elements of the original media stream. The additional headers and/or trailers could have fixed lengths or could vary in length.
However, these modifications have drawbacks. The greatest drawback is that the modified media stream rendered could be unintelligible to any system or process that is not privy to the details of the proprietary protocols and/or file formats.